package com.cloud.api.domain.alarm;

import com.cloud.api.utils.ExcelUtils;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@Data
@ExcelUtils.ExcelSheet(watermark = @ExcelUtils.Watermark(type = 0)
)
@Schema(description = "事故导出数据")
public class AccidentExcel {

    @Schema(description = "车牌号")
    @ExcelUtils.ExcelExport(name = "table.field.licenseNumber",columnWidth = 18)
    private String carNumber;

    @Schema(description = "vin")
    @ExcelUtils.ExcelExport(name = "table.field.vin")
    private String vin;

    @Schema(description = "事故地点")
    @ExcelUtils.ExcelExport(name = "table.field.addr")
    private String addr;

    @Schema(description = "详细地址")
    @ExcelUtils.ExcelExport(name = "table.field.detailAddr")
    private String detailAddr;

    @Schema(description = "组织机构名称")
    @ExcelUtils.ExcelExport(name = "table.field.organization")
    private String deptName;

    @Schema(description = "电池容量")
    @ExcelUtils.ExcelExport(name = "table.field.batteryCapacity",columnWidth = 18)
    private String batteryCapacity;

    @Schema(description = "起火时车辆状态")
    @ExcelUtils.ExcelExport(name = "table.field.fireVehicleStatus",kvs = {
            @ExcelUtils.KV(k="0",v="未知"),
            @ExcelUtils.KV(k="1",v="运行"),
            @ExcelUtils.KV(k="2",v="熄火停车")
    },columnWidth = 18)
    private String fireVehicleStatus;

    @Schema(description = "储能装置电池包（箱）型号")
    @ExcelUtils.ExcelExport(name = "table.field.energyStorageBatteryModel",columnWidth = 26)
    private String energyStorageBatteryModel;

    @Schema(description = "储能装置电池包（箱）生产企业")
    @ExcelUtils.ExcelExport(name = "table.field.energyStorageBatteryProducer",columnWidth = 28)
    private String energyStorageBatteryProducer;

    @Schema(description = "常用充电方式")
    @ExcelUtils.ExcelExport(name = "table.field.commonChargeMethods",kvs = {
            @ExcelUtils.KV(k="0",v="未知"),
            @ExcelUtils.KV(k="1",v="快充"),
            @ExcelUtils.KV(k="2",v="慢充")
    },columnWidth = 22)
    private String commonChargeMethods;

    @Schema(description = "最后一次充电方式")
    @ExcelUtils.ExcelExport(name = "table.field.lastChargeMethods", kvs = {
            @ExcelUtils.KV(k="0",v="未知"),
            @ExcelUtils.KV(k="1",v="快充"),
            @ExcelUtils.KV(k="2",v="慢充")
    },columnWidth = 20)
    private String lastChargeMethods;

    @Schema(description = "事故发生时车辆SOC")
    @ExcelUtils.ExcelExport(name = "table.field.accidentVehicleSoc",columnWidth = 22)
    private String accidentVehicleSoc;

    @Schema(description = " 电池单体型号")
    @ExcelUtils.ExcelExport(name = "table.field.batteryMonomerModel",columnWidth = 21)
    private String batteryMonomerModel;

    @Schema(description = "电池单体生产企业")
    @ExcelUtils.ExcelExport(name = "table.field.batteryMonomerProducer",columnWidth = 24)
    private String batteryMonomerProducer;

    @Schema(description = "事故车里程")
    @ExcelUtils.ExcelExport(name = "table.field.accidentMileage",columnWidth = 20)
    private String accidentMileage;

    @Schema(description = "事故调查后问题单体号")
    @ExcelUtils.ExcelExport(name = "table.field.accidentInvestigationProblemNum",columnWidth = 30)
    private String accidentInvestigationProblemNum;

    @Schema(description = "故障情况")
    @ExcelUtils.ExcelExport(name = "table.field.faultConditions",columnWidth = 15)
    private String faultConditions;

    @Schema(description = "事故表征")
    @ExcelUtils.ExcelExport(name = "table.field.accidentCharacterization",columnWidth = 21)
    private String accidentCharacterization;

    @Schema(description = "事故影响")
    @ExcelUtils.ExcelExport(name = "table.field.accidentImpact",columnWidth = 17)
    private String accidentImpact;

    @Schema(description = "事故原因初判")
    @ExcelUtils.ExcelExport(name = "table.field.initialAccidentCause",columnWidth = 17)
    private String initialAccidentCause;

    @Schema(description = "现场照片")
    @ExcelUtils.ExcelExport(name = "table.field.scenePhotosUrl",columnWidth = 17)
    private String scenePhotosUrl;
}
